Skip to content

Applied comments from Livecoms Reviewer #64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 64 commits into from
Aug 11, 2025
Merged

Conversation

simongravelle
Copy link
Member

No description provided.

@simongravelle simongravelle self-assigned this Jun 30, 2025
@simongravelle simongravelle added this to the LiveCoMS-publication milestone Jun 30, 2025
@simongravelle
Copy link
Member Author

@akohlmey Something that came to my mind while applying the reviewer's comments, would it be difficult to have the units appear on the axis of the LAMMPS-GUI Charts when printing thermo keywords of LAMMPS, such as "Density":

image

@simongravelle
Copy link
Member Author

@akohlmey @jrgissing What do you think of this reviewer's comment?

  1. Page 27 – The suffix of the parametrization file in case of “reaxCHOFe.inc” is misleading as this suffix was used, up to this point, to signify files with LAMMPS commands.

Would there be a better suffix for such files?

@simongravelle
Copy link
Member Author

simongravelle commented Jul 9, 2025

@akohlmey @jrgissing Another interesting comment concerning the use in tutorial 6 of :

pair_style hybrid/overlay vashishta lj/cut/tip4p/long OW HW OW−HW HW−OW−HW 0.1546 10

Apart from it being a bad combination, a reviewer suggest using hybrid instead of hybrid/overlay.

I am actually thinking that it would be best to completely remove the "hybrid/overlay vashishta" from this part, and then only have one single potential lj/cut/tip4p/long, leaving the silica rigid as is not uncommon for GCMC simulations. It would be cleaner, but then there would not be a single use of hybrid pair style in the entire tutorials. What do you think is best?

@akohlmey
Copy link
Collaborator

akohlmey commented Jul 9, 2025

would it be difficult to have the units appear on the axis of the LAMMPS-GUI Charts when printing thermo keywords of LAMMPS, such as "Density":

Yes, because we have no idea what those units would be. The text for thermo columns can be changed to anything with thermo_modify and only for a few selected fields, the units are easily known. But a user can change the y-axis legend manually. (same as the plot title).

What could be useful here is a) display the LAMMPS units settings and b) if the thermo output is normalized (like for units lj by default) since that can be changed with thermo_modify as well.

@akohlmey
Copy link
Collaborator

akohlmey commented Jul 9, 2025

Would there be a better suffix for such files?

Following the convensions used in the LAMMPS potentials folder, the name for this file would become: ffield.reax.CHOFe or ffield.reax.C_H_O_Fe

@akohlmey
Copy link
Collaborator

akohlmey commented Jul 9, 2025

Apart from it being a bad combination, a reviewer suggest using hybrid instead of hybrid/overlay.

The comment is correct. Pair style hybrid/overlay is not needed. Unfortunately, this is a convention that was started by Andrew Jewett's moltemplate and is propagating. Pair style hybrid/overlay gives you the most flexibility when combining multiple force fields (but also the largest margin for error due to lack of mixing and potential double counting of interactions).

Yes, vashishta can only be used reliably for bulk systems.

I think making the silica immobile (don't use the term rigid here, rigid is still mobile but as a whole) is the best solution without having to have major edits to the paper.

I think the issue of hybrid potentials is worth a more general treatment, like in a Howto document in LAMMPS. That would allow to discuss examples rather than explain features like in the parts documenting the commands. That would allow, for example, to use some drastic words showing how bad using hybrid with EAM is.

@simongravelle
Copy link
Member Author

I think making the silica immobile (don't use the term rigid here, rigid is still mobile but as a whole) is the best solution without having to have major edits to the paper.

Noted, will do.

@akohlmey
Copy link
Collaborator

@simongravelle We should require LAMMPS-GUI version 1.7 which is included in LAMMPS version 29Aug2024-update4 (not yet released) and LAMMPS version 30Jul2025 (not yet released and release date subject to change if we don't get all pending pull requests not flagged for after the stable release merged)

@simongravelle
Copy link
Member Author

@jrgissing

Could you take care of the last remaining comment by Reviewer C?

I think it would be beneficial to have comment lines explaining the files that are used in the
REACTER protocol (see section 3.8.2) for a reader to understand the sections of each file, in case
there arent.

@cecimarques
Copy link
Collaborator

There is an inconsistency between the gcmc.lmp file of tutorial 6 and what is shown in the pdf. I believe the .pdf is wrong. I will take the liberty to edit on github accordingly.

tutorial6_gcmc

@simongravelle
Copy link
Member Author

There is an inconsistency between the gcmc.lmp file of tutorial 6 and what is shown in the pdf. I believe the .pdf is wrong. I will take the liberty to edit on github accordingly.
tutorial6_gcmc

Oh, yes, we decided to remove pair_style hybrid/overlay completely

@cecimarques
Copy link
Collaborator

ah okay. So I will undo the changes I've just done. The .lmp file will then need to be modified

@simongravelle
Copy link
Member Author

ah okay. So I will undo the changes I've just done. The .lmp file will then need to be modified

Yes. We removed hybrid because it was extremely questionable, and one reviewer had a comment on that. Its creaner to simply not use hybrid, and will prevent future users to reproduce such bad habit.

@cecimarques
Copy link
Collaborator

No problem :)
I think I might leave tutorial 7 and 8 for tomorrow in my lunch time - my brain is starting to become useless !

\label{eq:G}
\end{equation}
where $\Delta G$ is the free energy difference, $R$ is the gas constant, $T$
is the temperature, $p$ is the pressure, and $p_0$ is a reference pressure.
is the temperature, % $p$ is the pressure, and $p_0$ is a reference pressure.
{\color{blue}$\rho$ is the density, and $\rho_0$ is a reference density.}
As an illustration, let us apply this method to a simple configuration
that consists of a particles in a box in the presence of a
position-dependent repulsive force that makes the center of the box a less
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont see a file named "free-energy.lmp" in Tutorial 7. Would this be free-energy.lmp? This latter file matches the description shown in the pdf.

@@ -3822,8 +4157,9 @@ \subsubsection{Method 1: Free sampling}
adiam 1 3 boxcolor black
\end{lstlisting}
A \lmpcmd{dump image} command was also added for system visualization.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

About the dump image command: maybe we can use 500 instead of 50000 for the frequency of the frames? Given that the whole simulation only lasts 50000 timesteps, it would be nice to see the whole progress of the atoms leaving the center region to complement the plot we have in the output.

and the measured reference density in the reservoir is $\rho_\text{bulk} = 0.0009~\text{\AA{}}^{-3}$.} % SG: check units of rho bulk
\label{fig:US-density}
\end{figure}

\paragraph{LAMMPS input script}

Open the file named \flecmd{umbrella-sampling.lmp}, which should
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, the cutoff of the LJ in the input script is set as a variable, so I guess we will need to adapt either here or there for consistency.

@@ -3981,26 +4323,27 @@ \subsubsection{Method 2: Umbrella sampling}
\end{lstlisting}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment previously made about the frequency for the dump image command holds here (500 could be a good value)

@cecimarques
Copy link
Collaborator

Okay, I managed to check the other two tutorials. I dont see nothing abnormal about them - there are just some minor comments that were added!

@akohlmey
Copy link
Collaborator

Also, still on tutorial 4, I had a problem equilibrating the system (equilibrating here = doing the energy minimization). Although everything seems okay from looking at the configuration, my potential energy is exploding on step 11 (see a compilation of figures attached below). Does it successfully minimize the energy when you run it?

Maybe @akohlmey will have some idea about what is causing the issue?

I am not 100% certain, but I suspect that there is still a bug lurking in the fix shake code that is invoked during minimization. Since you cannot solve the constraint equations, the code implements some stiff harmonic potentials.

I've been doing some debugging and the bogus forces and energy do originate with fix shake.

   Step          Temp          TotEng         PotEng         E_vdwl         E_coul         E_long         Press         f_myshk    
         0   0              501415.64      501415.64      501811.78      35487.218     -35887.974      6161980.2      4.6157969    
         1   0              221649.22      221649.22      222107.94      35421.179     -35890.056      2927491.1      10.159281    
         2   0              86221.68       86221.68       86731.082      35307.459     -35895.154      1360542.6      78.291895    
         3   0              25418.808      25418.808      25826.255      35175.618     -35906.99       654169.25      323.92542    
         4   0              3956.7742      3956.7742      4092.5852      35079.654     -35917.023      401059.51      701.55822    
         5   0             -8330.4141     -8330.4141     -8696.2654      34969.65      -35930.26       251743.33      1326.4612    
         6   0             -14979.904     -14979.904     -15694.385      34855.134     -35947.57       171277.92      1806.9173    
         7   0             -19198.988     -19198.988     -19616.13       34734.394     -35971.979      128480.16      1654.7274    
         8   0             -22082.003     -22082.003     -21935.621      34620.175     -36000.668      102026.97      1234.1113    
         9   0             -24124.565     -24124.565     -23618.735      34493.764     -36031.812      80546.418      1032.2183    
        10   0             -25480.477     -25480.477     -24541.636      34368.123     -36063.434      71579.069      756.4702     
        11   0              36693964       36693964      -24541.636      34368.123     -36063.434     -38051037       36720201     

Now the big question is: why?
Will have to dig deeper...

@akohlmey
Copy link
Collaborator

@simongravelle @cecimarques I think I have resolved the issue with using fix shake during minimization. It turned out to be a significant refactor of the code which also means that all reference outputs for simulations using fix shake with minimization need to be recreated.

The good news is that the algorithm is now more robust and one can use larger force constants without worrying about bogus results or crashes. Please note that this is an issue of LAMMPS itself and not only LAMMPS-GUI. I will thus also backport the changes to the 22Jul2025 stable version.

There are updated LAMMPS-GUI binaries now available at: https://download.lammps.org/testing/

@simongravelle
Copy link
Member Author

Indeed the file you have in the repository of this tutorial here on github does not contain this section. For what is worth it, I am using the LAMMPS-GUI that I've just downloaded and installed today from https://download.lammps.org/static/ (its the (LAMMPS-Win10-64bit-GUI-stable.exe).

EDIT: this keyword would also be needed in the write_data command of the deform.lmp script.

solved

@simongravelle
Copy link
Member Author

I had these characters appearing when copying and pasting directly from the PDF. I thought they were all cleaned, but apparently not... Thank you !

By the way: this same problem occurs for me when manually loading the decorate.lmp file in tutorial 5 (see below).
Tutorial5-decore-lmp

Indeed I found many more:

image

They should be all fixed now.

@akohlmey
Copy link
Collaborator

@simongravelle Here is how we search for non-ASCII characters in the LAMMPS source and documentation adapted for the tutorial input files:

find files/ -type f -name \*.lmp -print | env LC_ALL=C xargs grep -n '[^ -~]'

This still finds a non-ASCII comment:
files/tutorial1/solution/initial.lmp:15:# 2) System definition

@simongravelle
Copy link
Member Author

@simongravelle Here is how we search for non-ASCII characters in the LAMMPS source and documentation adapted for the tutorial input files:

find files/ -type f -name \*.lmp -print | env LC_ALL=C xargs grep -n '[^ -~]'

This still finds a non-ASCII comment: files/tutorial1/solution/initial.lmp:15:# 2) System definition

Thank you very much. Fixed.

Simon

@simongravelle simongravelle merged commit 0b5c822 into main Aug 11, 2025
@simongravelle simongravelle deleted the review-livecoms branch August 11, 2025 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants